#pragma once
#include "entitybody.h"
#include "PSysFromScript.h"

class ParticleEntityBody :
	public EntityBody
{

	Ogre::SceneNode *psNode;
	Ogre::ParticleSystem* pSystem;
	Ogre::SceneManager * sceneMgr;
	

public:

	void setPosition(Ogre::Vector3 position);
	Ogre::Vector3 getPosition();

	void setOrientation(Ogre::Quaternion orientation);
	Ogre::Quaternion getOrientation();

	void setLocalPosition(Ogre::Vector3 position);
	Ogre::Vector3 getLocalPosition();

	void setLocalOrientation(Ogre::Quaternion orientation);
	Ogre::Quaternion getLocalOrientation();

	void setLookAt(Ogre::Vector3 target);
	Ogre::Vector3 getFacingDir();

	void addForce(Ogre::Vector3 force);
	void addTorque(Ogre::Vector3 torque);

	Ogre::SceneNode* getParentNode();


	virtual void killBody();

	ParticleEntityBody(Ogre::SceneNode * node, Ogre::SceneManager * scnMgr, Ogre::String scriptName, Ogre::String bodyName, std::deque<Ogre::ParticleSystem*> * particleSystems);
	virtual ~ParticleEntityBody(void);

};

